home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / CW GUSI 1.6.4 / doc / pod / GUSI.pod < prev   
Encoding:
Text File  |  1995-04-20  |  5.3 KB  |  190 lines  |  [TEXT/CWIE]

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %  Project  :  GUSI        -  Grand Unified Socket Interface
  3. %  File     :  GUSI.web    -  Documentation
  4. %  Author   :  Matthias Neeracher
  5. %  Language :  C SpiderWeb
  6. %  
  7. %  $Log: GUSI.web,v $
  8. %  Revision 1.4  1994/12/31  03:30:13  neeri
  9. %  PS: Document TFileSpec.h
  10. %
  11. %  Revision 1.3  1994/12/30  19:35:58  neeri
  12. %  Update for 1.5.0
  13. %
  14. %  Revision 1.2  1994/05/01  23:28:39  neeri
  15. %  Added utime().
  16. %
  17. %  Revision 1.1  1994/02/25  02:44:55  neeri
  18. %  Initial revision
  19. %
  20. %  Revision 0.9  1993/07/30  00:00:00  neeri
  21. %  Update for 1.3.0
  22. %  
  23. %  Revision 0.8  1993/06/20  00:00:00  neeri
  24. %  Last minute changes for 1.2.0
  25. %  
  26. %  Revision 0.7  1993/06/20  00:00:00  neeri
  27. %  Update for 1.2.0
  28. %  
  29. %  Revision 0.6  1993/06/06  00:00:00  neeri
  30. %  Expurgate docu
  31. %  
  32. %  Revision 0.5  1993/02/22  00:00:00  neeri
  33. %  Update for 1.1.0
  34. %  
  35. %  Revision 0.4  1993/01/09  00:00:00  neeri
  36. %  Update for 1.0.1
  37. %  
  38. %  Revision 0.3  1992/12/13  00:00:00  neeri
  39. %  Brush it up for release
  40. %  
  41. %  Revision 0.2  1992/10/05  00:00:00  neeri
  42. %  More or less complete now
  43. %  
  44. %  Revision 0.1  1992/09/08  00:00:00  neeri
  45. %  It's beginning to take shape
  46. %  
  47. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  48.  
  49. =head1 Introduction
  50.  
  51. C<GUSI> is an extension and partial replacement of the
  52. C<MPW> runtime library. Its main objective is to provide a more or less simple
  53. and consistent interface across the following I<communication domains>:
  54.  
  55. =over 4
  56.  
  57. =item Files
  58.  
  59. Ordinary Macintosh files and C<MPW> pseudo devices.
  60.  
  61. =item Unix
  62.  
  63. Memory based communication within a single machine (This name exists for
  64. historical reasons).
  65.  
  66. =item Appletalk
  67.  
  68. C<ADSP> (and possibly in the future C<DDP>) communication over a
  69. network.
  70.  
  71. =item PPC
  72.  
  73. Local and remote connections with the System 7 C<PPC Toolbox>
  74.  
  75. =item Internet
  76.  
  77. C<TCP> and C<UDP> connections over C<MacTCP>.
  78.  
  79. =item PAP
  80.  
  81. Connections with the C<Printer Access Protocol>, typically to a networked 
  82. PostScript printer.
  83.  
  84. =back
  85.  
  86. Additionally, C<GUSI> adds some C<UNIX> library calls dealing with files which
  87. were missing, like C<chdir()>, C<getcwd()>, C<symlink()>, and C<readlink()>, and 
  88. changes a few other library calls to behave more like their C<UNIX> counterparts.
  89.  
  90. The most recent version of C<GUSI> may be obtained by anonymous ftp from 
  91. C<ftp.switch.ch> in the directory C<software/mac/src/mpw_c>.
  92.  
  93. There is also a mailing list devoted to discussions about C<GUSI>. You can join the
  94. list by sending email to <F<gusi-request@iis.ee.ethz.ch>>.
  95.  
  96. =head2 User's Manual
  97.  
  98. For ease of access, the manual has been split up into a number of sections:
  99.  
  100.     GUSI_Install    Installing and using the GUSI headers and libraries
  101.     GUSI_Common        Routines common to all GUSI socket families
  102.     GUSI_Files        Routines specific to the file system
  103.     GUSI_Unix        Routines specific to memory based (UNIX) sockets
  104.     GUSI_Appletalk    Routines specific to AppleTalk sockets
  105.     GUSI_PPC            Routines specific to PPC Toolbox sockets
  106.     GUSI_INET        Routines specific to internet sockets
  107.     GUSI_PAP            Routines specific to PAP sockets
  108.     GUSI_Misc        Miscellaneous routines
  109.     GUSI_Advanced    Advanced techniques  
  110.  
  111. =head2 Copying
  112.  
  113. Copyright (C) 1992-1995 Matthias Neeracher
  114.  
  115. Permission is granted to anyone to use this software for any
  116. purpose on any computer system, and to redistribute it freely,
  117. subject to the following restrictions:
  118.  
  119. =over 4
  120.  
  121. =item *
  122.  
  123. The author is not responsible for the consequences of use of
  124. this software, no matter how awful, even if they arise
  125. from defects in it.
  126.  
  127. =item *
  128.  
  129. The origin of this software must not be misrepresented, either
  130. by explicit claim or by omission.
  131.  
  132. =item *
  133.  
  134. Altered versions must be plainly marked as such, and must not
  135. be misrepresented as being the original software.
  136.  
  137. =back
  138.  
  139. =head2 Design Objectives
  140.  
  141. C<GUSI> was developed according to at least three
  142. mutually conflicting standards:
  143.  
  144. =over 4
  145.  
  146. =item *
  147.  
  148. The definition of the existing C library.
  149.  
  150. =item *
  151.  
  152. The behavior of the corresponding UNIX calls. While my original guideline was a set
  153. of discarded SunOS manuals, my current reference point is the ANSI/IEEE POSIX 
  154. standard (A borrowed copy of the 1988 edition, if you really want to know; feel 
  155. free to donate me a copy of the 1992 edition).
  156.  
  157. The behaviour of the socket calls is, of course, modeled after their BSD 
  158. implementation.
  159.  
  160. =item *
  161.  
  162. The author's judgement, prejudices, laziness, and limited resources.
  163.  
  164. =back
  165.  
  166. In general, the behavior of the corresponding POSIX/BSD library call was implemented,
  167. since this faciliates porting UNIXish utilities to the Macintosh. 
  168.  
  169. =head2 Acknowledgements
  170.  
  171. I would like to thank all who have agreed to beta test this code and who have 
  172. provided feedback.
  173.  
  174. The TCP/IP code in C<GUSIINET.cp>, C<GUSITCP.cp>, and C<GUSIUDP.cp> is 
  175. derived from a socket library written by Charlie Reiman 
  176. <F<reiman@talisman.kaleida.com>>, 
  177. which in turn is based on code written by Tom Milligan 
  178. <F<milligan@madhaus.utcs.utoronto.ca>>.
  179.  
  180. The PAP code in C<GUSIPAP.cp> is derived from code written by Sak Wathanasin 
  181. <F<sw@nan.co.uk>>.
  182.  
  183. Martin Heller <F<heller@gis.geogr.unizh.ch>> suggested to move the documentation
  184. to HTML and wrote the HTML to RTF converter. Ed Draper <F<draper@usis.com>> 
  185. provided the PDF translation.
  186.  
  187. Many of the header files in the C<:include:> subdirectory are borrowed from BSD 
  188. 4.4-lite, therefore: This product includes software developed by the University of 
  189. California, Berkeley and its contributors.
  190.